/***********************************************************************
** Copyright (C) 2011 Anthony Naddeo <anthony.naddeo@gmail.com>
**
** This file is part of LinkedUp
**
** LinkedUp is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 3 of the License, or
** (at your option) any later version.
**
** LinkedUp is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this package; If not, see <http://www.gnu.org/licenses/>.
**
***********************************************************************/

#ifndef AUTHORIZER_H
#define AUTHORIZER_H

#include <QObject>
#include "creds.h"

extern "C" {
#include "oauth.h"
}

class Authorizer : public QObject
{
    Q_OBJECT
public:
    explicit Authorizer(QObject *parent = 0);
	virtual ~Authorizer();

	Q_INVOKABLE	QString request_token();
	Q_INVOKABLE void generate_access_url(QString request_response);

	Q_INVOKABLE	QString access_token(QString pin);
	Q_INVOKABLE void store_key(QString request_response);

private:
	QString* req_token;
	QString* req_secret;
	QString* signed_url;

signals:
	void authorized();
};

#endif // AUTHORIZER_H
